<HTML>
<BODY>

<H1>Programming Python 4th Edition Queries</H1>

<P>
<I>[January 10, 2011]</I>  The following are written replies to questions posed recently 
about the book's background.  For more about this book, see also the early 
draft excerpt from the <A HREF="pp4e-preface-preview.html">book's Preface</A>.
</P>
<HR>


<H2>
> What made you write the book?
</H2>

<P>
The prior edition was written in 2006 under Python 2.5.  It was very
much in need of an update, both for Python 3.X and its libraries, and 
for recent evolution in Python tools and techniques.  The new edition 
better reflects the "best practice" of today's Python world.
</P>


<H2>
> Why is your book especially important now?
</H2>

<P>
By applying the Python 3.X language, it aims to lead the curve on 3.X
adoption in general, and be relevant for years to come.

<P>
My other book, Learning Python 4th Edition, published a year ago,
takes a more egalitarian approach.  It covers both the 2.X and 3.X 
Python lines (it stresses 3.X, but describes 2.X difference along the 
way).  As such, it reflects and addresses the reality of the Python 
world today, which is still largely split between the two Pythons.

<P>
By contrast, Programming Python really had to choose one Python or the
other, because much of its content lies in larger examples which can 
only be listed in one form.  By choosing to go with Python 3.X only, 
and in the process showing that 3.X is a valid system development tool,
this book hopes to encourage Python 3.X adoption in the Python world.

<P>
Of course, it remains to be seen whether the 2.X ecosystem is too large
and entrenched to tolerate the changes that 3.X implies, but most of us
believe that 3.X will either come to dominate, or at least offer a valid
and vibrant alternative going forward.  Moreover, 3.X is not that much 
different from 2.X to make this an absolute one-or-the-other choice; 
Python 2.X users will probably still get a lot out of this book, even 
if a few of their language and library details may vary.
</P>


<H2>
> What is the single most important thing readers of your book will be able 
to do after reading your book?
</H2>

<P>
They'll be able to apply Python to realistic and practical programming 
tasks.

<P>
This is an applications programming book which provides tutorials that 
teach common Python application domains from the ground up.  Readers
learn the fundamentals of GUIs, the Internet, databases, text processing,
and more.  Along the way, they also see how to best apply the Python 
language, as well as its libraries, tools, and idioms in such domains.

<P>
Although this book develops large-scale programs, its general focus 
is on application fundamentals that span domains, rather than current 
"hot topics."  You won't find tersely documented examples of things like
Django or Android, for instance, which may whet reader's appetites, but 
teach little of lasting value.  Instead, readers of this book will 
gain a deep understanding of the domains it covers, which should apply 
equally well to the transient bleeding edge.
</P>


<H2>
> Who is your intended audience?
</H2>

<P>
People who have already studied the fundamentals of the Python language,
and wish to move on to learn how to apply it to real-world tasks and
full-scale development.  It's especially intended as a follow-up book 
for Learning Python readers.

<P>
This book tells the other half of the Python story -- what you can do 
with the language after you've mastered it.  As such, it is explicitly
designed to work as the second in a two-volume set: as a follow-up 
to the language fundamentals book Learning Python.  That book covers 
the language by itself, and this book moves on to show its application
in larger and more complete example programs.  

<P>
To some extent, this book is also intended for people who want to 
learn what full-scale software development is like.  The scope of 
this book allows it to present larger examples than most (some of
which span thousands of lines of code and multiple chapters), which
illustrate facets of programming that smaller examples cannot. 
</P>


<H2>
> How important is the subject matter of your book? What do you think is on the 
horizon for your readers?
</H2>

<P>
Given that Python 3.X is expected to be the future of Python (or at the 
very least a major part of it), an in-depth applications programming book 
that uses Python 3.X exclusively should serve as a resource for both new
Python users who start off with Python 3.X initially, as well as current
Python 2.X users migrating to 3.X over time.

<P>
Python 3.X will probably matter to everyone using Python eventually, even
if it's just as a candidate being evaluated for viability.  By showing 
Python 3.X put to work on realistic tasks, this book should help readers
judge its merits, and perhaps apply it for tasks of their own.

</P>
</BODY></HTML>